<?php
Class Matricula extends AppModel{
	var $name = 'Matricula';
	var $displayField = 'Matricula';
	//var $useTable = 'graficos';
	
	var $belongsTo = array(
		'Estado'=>array('className' => 'Estado','foreignKey' => 'estado_id'),
		'Persona'=>array('className' => 'Persona','foreignKey' => 'alumno_id'),
		'Programacion'=>array('className' => 'Programacion','foreignKey' => 'programacion_id'),
	);
	
	function countMatricula($params){return $this->find('count',$params);}
	function dataMatricula($params){return $this->find('all',$params);}
	
	
	function getMatricula($id){
		$detallematriculafields = array('Matricula.id',
			'"Persona"."codigo" || \' - \' || "Persona"."nombre_completo" AS "Persona__descripcion"',
			'Matricula.alumno_id',
			'Matricula.fecha',
			'Matricula.monto',
			'Matricula.created',
			'"Estado"."descripcion" AS "Matricula__estado"');
		
		$matriculados = $this->find('all', array(
									'fields'=>$detallematriculafields, 
									'conditions'=>array('Matricula.programacion_id'=>$id,
														'Matricula.estado_id'=>1)));
		/*
		foreach($detalleordencompras as $key=>$detalleordencompra){
			$detalleordencompras[$key]['Unidad']['descripcion'] = $unidadLista[$detalleordencompra['Articulo']['unidad_id']];
		}
		*/
		$matriculados['detalles'] = $matriculados;
		return $matriculados;
	}
	
	function setGuardarMatricula($data,$variables){
		App::import('Model','Matricula');  $this->Matricula = new Matricula();
		@$this->query("update matriculas set estado_id = 2 where programacion_id =".$data['Matricula']['programacion_id']);
		
		
		foreach($data['detalles'] as $detalleordencompras){
			//buscamos si existe el detalle
			$conditions = array('programacion_id'=>$data['Matricula']['programacion_id'],'alumno_id'=>$detalleordencompras['Matricula']['alumno_id']);
		    $detalleordencompra_db = $this->Matricula->find('first',array('conditions'=>$conditions,'recursive'=>-1));
		    
		    $detalleordencompras['Matricula']['programacion_id'] =  $data['Matricula']['programacion_id'];
		    
		  	if(!empty($detalleordencompra_db)){
			    $detalleordencompras['Matricula']['id'] = $detalleordencompra_db['Matricula']['id'];
			    $detalleordencompras['Matricula']['alumno_id'] = $detalleordencompra_db['Matricula']['alumno_id'];
			    $detalleordencompras['Matricula']['estado_id'] = 1;  
			}else{
				$this->Matricula->create();  
			} 
			
			if(!$this->Matricula->save($detalleordencompras['Matricula']))
			    return array('respuesta'=>false,'mensaje'=>'Matricula NO GENERADO', $this->Matricula->visualizarError($this->validationErrors));
		}
		
		return array('respuesta'=>true, 'mensaje'=>"LA Matricula HA SIDO GUARDADA", 'programacion_id'=>$data['Programacion']['id']);
		
	}
}
?>